#pragma once
#include "ckObject.h"
#include "ckDataset.h"

#include <string>
namespace ck
{
	namespace data
	{
		class EnumRasterBand;

		class ZCORE_API RasterDataset :	public Dataset
		{
		public:
			RasterDataset();
			virtual ~RasterDataset();

		public:
			virtual ckDatasetType	GetType();
			virtual	const char*		GetName();

			virtual	RESULTCODE		Open();
			virtual	bool			IsOpen();
			virtual	void			Close();
			virtual	void			SetPath(const char* szPath);
			virtual	const char*		GetPath();

		public:
			//@deprecated
			virtual z_uint32		GetBandCount() { return 0; }
			//@deprecated
			virtual EnumRasterBand*	GetBands() { return NULL; }

		protected:
			bool	m_bIsOpen;
			std::string m_strName;
			std::string m_strPath;
		};
	}
}




